
import { fetchLogin } from "@/api/user.js"

// 下面的函数返回了一个action
// 这个函数，叫action creator
// 如果返回的是一个action，这个action creator叫同步的action creator
// 后面我们会讲异步的action creator
export function switchSize(payload) {
  return { type: "APP_SIZE", payload }
}

export function switchLang(payload) {
  return { type: "APP_LANG", payload }
}

export function switchColor(payload) {
  return { type: "APP_COLOR", payload }
}

// -------------- 下面是异步的action creator
// 异步的action creator 是返回的一个函数
export function login(data) {
  return function (dispatch) {
    // 在这个函数中就可以写异步代码了
    fetchLogin(data).then(({ token }) => {
      // console.log("在redux中发ajax请求，得到的结果是：", res);

      if (token) {
        // 现在已经得到了token，需要把token存储到本地，也需要把token存储到redux中
        localStorage.setItem("token", token);

        // 把token存储到redux中，还需要派发一个同步的action
        dispatch({ type: "USER_LOGIN", payload: token })
      }
    })
  }
}